package com.genreate.util.pay.wx.domain;

import lombok.Data;

/**
 * 微信支付APP端调起支付请求参数实体类
 * 对应微信支付V3接口中的PayReq对象
 */
@Data
public class PayAppReq {
    /**
     * 【应用ID】
     * 填写下单时传入的appid
     * 必填，string(32)
     */
    private String appId;

    /**
     * 【商户号】
     * 填写下单时传入的mchid
     * 必填，string(32)
     */
    private String partnerId;

    /**
     * 【预支付交易会话标识】
     * APP下单接口返回的prepay_id，有效期2小时
     * 必填，string(64)
     */
    private String prepayId;

    /**
     * 【随机字符串】
     * 不长于32位的随机字符串，建议使用随机数算法生成
     * 必填，string(32)
     */
    private String nonceStr;

    /**
     * 【时间戳】
     * Unix秒级时间戳（从1970年1月1日UTC午夜开始的秒数）
     * 注意：必须为秒级，而非毫秒级
     * 必填，string(10)
     */
    private String timeStamp;

    /**
     * 【签名】
     * 使用appId、timeStamp、nonceStr、prepayId及商户API证书私钥生成的RSA签名
     * 详细生成规则参考微信支付"APP调起支付签名"文档
     * 必填，string(512)
     */
    private String sign;
}